The present invention relates to the transmission of data segments such as those used to provide data to receivers for producing an on-screen television programming guide. In particular, a method and apparatus are presented for allowing a receiver to acquire data segments from a data stream at a lower data rate than the nominal data rate of the data stream while also optimizing the response time of the receiver.
Recently, the availability of various video and other programming services for consumers and others has increased. Consumers may receive programming services via cable, terrestrial broadcast, and direct broadcast satellite links. Available programming services include traditional programs provided by national network broadcasters, various special interest programs which cater to those with a special interest in news, politics, sports, nature, movies, weather, history, shopping and the like, and local community programming. Additionally, audio and data programming services are becoming increasingly popular. Audio services provide musical programming or alternative language capability, and data programming provides information such as stock prices, travel and shopping information, and the like. Furthermore, it is expected that traditional television programming services will be integrated with computer-based services to provide even more services from which the viewer may select.
Accordingly, there is a need to inform the viewer of the myriad available programming options in an easy to use format. Various on-screen graphical displays have become available that provide information such as program name, viewing time, and a description, such as the leading actor in a movie. For example, a common display format lists the relevant programming information for a given time period, such as one or two days from the present time. Additionally, the display may provide interactive features, for example, which allow the viewer to switch the channel to directly view a program, order a pay-per-view program, record a program, obtain additional information about a program, such as a detailed movie review, or obtain account information from the programming service provider. Such an on-screen display is known as an interactive program guide (IPG).
Moreover, data for updating the IPG may be transmitted over the same channel as the programming service. One such system for providing IPG data is described in U.S. Pat. No. 5,801,753, issued Sep. 1, 1998 by M. Eyer and Z. Guo, entitled "Method and Apparatus for Providing an Interactive Guide to Events Available on an Information Network," assigned to General Instrument Corporation, the assignee of the present invention, and incorporated herein by reference. In this system, IPG data for a shorter time period (e.g., the next two days) of programming is continuously transmitted in a low rate, "trickle" data stream, while data for a longer time period (e.g., the next seven days) of programming is continuously transmitted at a higher rate in a "demand" data stream. The trickle data stream is automatically received and processed by the receiver to gradually update the display with current information such as last-minute programming changes or corrections in the schedule. The trickle data stream thus provides a continuous update capability while requiring the receiver to store only the data corresponding to two days of programming.
In contrast, the receiver will not acquire and process the high-rate demand data stream unless commanded to do so by the viewer. For example, this may be required when the viewer wishes to obtain information for programming which is scheduled for more than two days in the future. Furthermore, when the viewer commands a function that requires the demand data stream, it is desirable for the information to be retrieved and processed as quickly as possible to avoid inconvenient delays for the viewer.
However, with mass-produced receivers, the data input buffer size and processing speed are limited. Additionally, different viewers will be requesting different portions of the IPG at any given time. Accordingly, it would be desirable to provide a method and apparatus for communicating data to receivers that provides a fast response time without exceeding the receiver's processing capability or overflowing the receiver's buffer. Additionally, the system should be compatible with a data stream protocol wherein data for a single graphical display, or page, is carried in a number of blocks and segments, and where a number of receivers may require data of different blocks or segments of the data stream at the same time. Furthermore, there should be a relatively even waiting time between different viewers who request different information at the same time. The present invention provides a data communication scheme having the above and other advantages.